﻿using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using OpusSuite.Globalisation.Attributes;
using OpusSuite.Models.Model.WebAdmin;
using OpusSuite.Utility;

namespace OpusSuite.ViewModels.AccountAdmin
{
    public class UserProfileModel
    {
        [Required]
        [OpusDisplay(Enums.OpusSuiteResource.Common, "Username")]
        public string UserName { get; set; }

        [Required]
        [OpusDisplay(Enums.OpusSuiteResource.UserProfile, "DisplayName")]
        public string DisplayName { get; set; }

        [DataType(DataType.Password)]
        [OpusDisplay(Enums.OpusSuiteResource.UserProfile, "CurrentPassword")]
        [StringLength(256)]
        public string CurrentPassword { get; set; }

        [DataType(DataType.Password)]
        [OpusDisplay(Enums.OpusSuiteResource.UserProfile, "NewPassword")]
        [StringLength(256)]
        public string NewPassword { get; set; }

        [DataType(DataType.Password)]
        [OpusDisplay(Enums.OpusSuiteResource.UserProfile, "ConfirmPassword")]
        [StringLength(256)]
        public string ConfirmPassword { get; set; }

        //[Required]
        //[OpusDisplay(Enums.OpusSuiteResource.UserProfile, "Theme")]
        //public Theme Theme { get; set; }
        [Required]
        [OpusDisplay(Enums.OpusSuiteResource.UserProfile, "Theme")]
        public string ThemeName { get; set; }
        public int ThemeId { get; set; }

        //[Required]
        //[OpusDisplay(Enums.OpusSuiteResource.UserProfile, "Country")]
        //public Country Country { get; set; }
        [Required]
        [OpusDisplay(Enums.OpusSuiteResource.UserProfile, "Country")]
        public string CountryDescription { get; set; }
        public int CountryId { get; set; }

        [Required]
        public IEnumerable<UserProfileSetting> Settings { get; set; }
    }
}